/** \brief File declaring a simple grid made of squares for the game of life.
 *
 * This file contains the declaration of a class implementing a simple grid for
 * the game of life, where the cells are squares.
 *
 * @file GridBase.hpp
 * @author Johan "Solo" Luisier
 * @date 2013/03/22
 */
#ifndef SQUAREGRID_HPP
#define SQUAREGRID_HPP

#include "GridBase.hpp"

/** @brief The SquareGrid class
 *
 *
 * @author Johan "Solo" Luisier
 * @date 2013/03/22
 */
class SquareGrid : public GridBase
{
public:
    SquareGrid( const quint32& w, const quint32& h,
                QObject* parent = 0 );
    ~SquareGrid();

    inline const quint32& maxNeighbourNumber() const { return MaxNeighbourNumber; }

private:
    bool initialiseNeighbours();
    /** @brief Maximal number of neighbours for a Cell instance.
     */
    static const quint32 MaxNeighbourNumber;
};

#endif // SQUAREGRID_HPP
